Skip to content

feat: methodology enforcement, smart dimension selection, and report structure#4

Merged
zircote merged 3 commits intomainfrom
feature/methodology-enforcement
Apr 10, 2026
Merged

feat: methodology enforcement, smart dimension selection, and report structure#4
zircote merged 3 commits intomainfrom
feature/methodology-enforcement

Conversation

@zircote
Copy link
Copy Markdown
Owner

@zircote zircote commented Apr 10, 2026

Summary

  • Smart dimension selection (Phase 1.5): LLM assesses relevance of all 8 dimensions for a given topic, presents checkbox UI with per-dimension rationale, user confirms before analyst spawning
  • Methodology loading enforcement: Orchestrator spawn prompt explicitly delegates to dimension-analyst's built-in Methodology Gating Protocol instead of embedding custom instructions that bypass it
  • Post-findings methodology gate: Phase 2.75 hard-fails when required frameworks are missing from findings, triggers targeted retry with gap list (max 2 retries before degrading to soft warning)
  • Report 9-section enforcement: Section iterator checks data availability per dimension, generates content or "not assessed" placeholder with /sigint:augment suggestion — never silently omits sections
  • 5 Mermaid visualizations with data threshold guards: positioning map, Porter's 5 Forces mindmap (new), trend scenario graph, SWOT quadrant, risk matrix (new)
  • Audience-tailored output: --audience executives|pm|investors|dev|all with section reordering, language register adjustment, and executive one-pager
  • HTML format: --format html produces valid HTML5 with inline CSS and Mermaid CDN rendering
  • Arg hint discoverability: All 4 skill frontmatter files now surface valid enum values for dimensions, formats, audiences, and sections
  • 10 autoresearch eval cases across 3 new directories validating all enforcement behaviors
  • Custom dimension support: Generic methodology with provenance enforcement for user-defined dimensions

Files Changed

Modified (7):

  • agents/research-orchestrator.md — Phase 1.5 dimension selection, Phase 2.2 spawn prompt fix, Phase 2.75 methodology gate
  • agents/report-synthesizer.md — Section Generation Protocol, Audience Transform Protocol, Porter's mindmap, Risk matrix, HTML template
  • agents/dimension-analyst.md — Custom dimension handling in Step 2
  • skills/start/SKILL.md--dimensions arg-hint with enum values
  • skills/report/SKILL.md--format, --audience, --sections enum values
  • skills/augment/SKILL.md — Renamed --methodology to --dimension with enum values
  • skills/update/SKILL.md--dimensions enum values

Created (23):

  • skills/start-autoresearch/ — 3 eval cases (dimension-selection, methodology-loading, methodology-gate)
  • skills/trend-analysis-autoresearch/ — 2 eval cases (mermaid-scenario, trend-tables)
  • skills/report-autoresearch/ — 5 eval cases (9-section-report, audience-executive, swot-mermaid, positioning-map, html-format)

Test Plan

  • Run /sigint:start on a test topic — verify dimension selection UI with rationale
  • Verify dimension-analyst loads SKILL.md before researching
  • Run competitive analysis missing Porter's — verify gate blocks and retries
  • Run /sigint:report --audience executives --format markdown — verify exec-tailored output
  • Run /sigint:report --format html — verify valid HTML with inline CSS
  • Run /sigint:report with partial findings — verify "not assessed" placeholders with augment suggestions

…report structure

Add methodology enforcement across the sigint research pipeline:
- Smart dimension selection (Phase 1.5) with per-dimension relevance rationale
- Methodology loading enforcement via explicit gating protocol in spawn prompts
- Post-findings hard-fail gate on missing required frameworks with retry (max 2)
- Report 9-section enforcement with "not assessed" placeholders and augment suggestions
- Audience-tailored output (executives/pm/investors/dev/all) with section reordering
- HTML output with inline CSS and Mermaid CDN rendering
- Arg hint discoverability with enum values in all 4 skill frontmatter files
- 10 autoresearch eval cases across 3 new eval directories
- Custom dimension support with generic methodology fallback
Copilot AI review requested due to automatic review settings April 10, 2026 16:40
Patch bump for methodology enforcement feature:
- plugin.json: 0.5.0 → 0.5.1
- research-orchestrator: 0.5.0 → 0.5.1
- report-synthesizer: 0.1.0 → 0.1.1
- dimension-analyst: 0.4.0 → 0.4.1
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the Sigint research agents and skills to enforce methodology gating, introduce “smart” dimension selection, and standardize report generation (structure, audience tailoring, Mermaid visuals, HTML output), alongside adding autoresearch eval fixtures to validate these behaviors.

Changes:

  • Adds Phase 1.5 dimension relevance/confirmation flow and strengthens methodology-gating + post-findings retry behavior in the research orchestrator.
  • Introduces a 9-section report generation protocol with audience transforms and HTML output guidance in the report synthesizer.
  • Updates skill frontmatter argument hints and adds new autoresearch eval suites (start/report/trend-analysis) with grading specs.

Reviewed changes

Copilot reviewed 21 out of 31 changed files in this pull request and generated 13 comments.

Show a summary per file
File Description
skills/update/SKILL.md Updates CLI argument hinting for dimensions in update mode.
skills/start/SKILL.md Adds --dimensions hint/docs for start (preselect dimensions).
skills/report/SKILL.md Expands argument-hint with enum values for format/audience/sections.
skills/augment/SKILL.md Renames --methodology--dimension and updates hints/docs.
agents/research-orchestrator.md Adds Phase 1.5 selection flow; updates analyst spawn prompt to enforce methodology gating; adds Phase 2.75 hard-fail retry loop.
agents/report-synthesizer.md Adds section iterator + audience transform + new Mermaid templates + HTML output guidance.
agents/dimension-analyst.md Adds custom-dimension handling guidance in the methodology gating protocol.
skills/start-autoresearch/evals.json Registers start autoresearch evals.
skills/start-autoresearch/iteration-0/eval-dimension-selection/grading.json Grading spec for dimension selection UI/confirmation behavior.
skills/start-autoresearch/iteration-0/eval-dimension-selection/outputs/.gitkeep Placeholder for eval outputs.
skills/start-autoresearch/iteration-0/eval-methodology-loading/grading.json Grading spec for analyst skill methodology loading/gating.
skills/start-autoresearch/iteration-0/eval-methodology-loading/outputs/.gitkeep Placeholder for eval outputs.
skills/start-autoresearch/iteration-0/eval-methodology-gate/grading.json Grading spec for post-findings methodology hard-fail + retry.
skills/start-autoresearch/iteration-0/eval-methodology-gate/outputs/.gitkeep Placeholder for eval outputs.
skills/trend-analysis-autoresearch/evals.json Registers trend-analysis autoresearch evals.
skills/trend-analysis-autoresearch/iteration-0/eval-mermaid-scenario/grading.json Grading spec for trend scenario Mermaid generation.
skills/trend-analysis-autoresearch/iteration-0/eval-mermaid-scenario/outputs/.gitkeep Placeholder for eval outputs.
skills/trend-analysis-autoresearch/iteration-0/eval-trend-tables/grading.json Grading spec for macro/micro trend tables + indicators.
skills/trend-analysis-autoresearch/iteration-0/eval-trend-tables/outputs/.gitkeep Placeholder for eval outputs.
skills/report-autoresearch/evals.json Registers report autoresearch evals.
skills/report-autoresearch/iteration-0/eval-9-section-report/grading.json Grading spec for 9-section enforcement + placeholders.
skills/report-autoresearch/iteration-0/eval-9-section-report/outputs/.gitkeep Placeholder for eval outputs.
skills/report-autoresearch/iteration-0/eval-audience-executive/grading.json Grading spec for executive audience transforms + standalone summary output.
skills/report-autoresearch/iteration-0/eval-audience-executive/outputs/.gitkeep Placeholder for eval outputs.
skills/report-autoresearch/iteration-0/eval-html-format/grading.json Grading spec for HTML output structure + inline CSS + Mermaid wrapping.
skills/report-autoresearch/iteration-0/eval-html-format/outputs/.gitkeep Placeholder for eval outputs.
skills/report-autoresearch/iteration-0/eval-positioning-map/grading.json Grading spec for positioning map Mermaid conditions/content.
skills/report-autoresearch/iteration-0/eval-positioning-map/outputs/.gitkeep Placeholder for eval outputs.
skills/report-autoresearch/iteration-0/eval-swot-mermaid/grading.json Grading spec for SWOT Mermaid generation conditions/template.
skills/report-autoresearch/iteration-0/eval-swot-mermaid/outputs/.gitkeep Placeholder for eval outputs.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread skills/start/SKILL.md Outdated
Comment thread skills/start/SKILL.md Outdated
Comment thread skills/update/SKILL.md Outdated
Comment thread skills/augment/SKILL.md
Comment thread agents/research-orchestrator.md Outdated
Comment thread agents/report-synthesizer.md Outdated
Comment thread agents/report-synthesizer.md Outdated
Comment thread agents/report-synthesizer.md
Comment thread agents/research-orchestrator.md
Comment thread agents/report-synthesizer.md
- Fix arg-hint syntax: use list notation for comma-separated --dimensions flags
- Add REQUESTED_DIMENSIONS passthrough from start skill to orchestrator
- Add trend_modeling to augment dimension mapping table
- Fix custom dimensions: store as strings in elicitation.dimensions, metadata in custom_dimensions
- Add SKILL_OVERRIDE conditional to orchestrator spawn prompt for custom dimensions
- Use schema-conformant methodology plan for custom dimensions in dimension-analyst
- Add section→dimension mapping for augment placeholders in report synthesizer
- Fix section id mismatch: exec-summary → executive-summary in audience tables
- Remove non-existent section ids from audience override tables
- Add multiple data points to Risk matrix Mermaid template
- Add team_name to retry analyst spawn in Phase 2.75

Resolves review comments on PR #4
@zircote zircote merged commit 6f74c1c into main Apr 10, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants